package com.regentsoft.cloudback.base;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
 * 
 * @author czd
 *
 * @date 2017年11月25日
 *
 * @version 1.0
 */
public interface BaseMapper<T, ID extends Serializable> {
	/**
	 * 根据id删除
	 * 
	 * @create_time 2016-3-31
	 */
	int deleteById(ID id) throws Exception;


	/**
	 * 保存
	 * 
	 * @param t
	 * @create_time 2016-3-31
	 */
	int add(T t) throws Exception;


	/**
	 * 根据id查找
	 * 
	 * @param id
	 * @return T
	 * @create_time 2016-3-31
	 */
	T findById(ID id) throws Exception;

	/**
	 * 查询所有
	 * 
	 * @return List<T>
	 * @create_time 2016-3-31
	 */
	List<T> findList(T e) throws Exception;

	/**
	 * 分页查询所有
	 * 
	 * @return List<T>
	 * @create_time 2016-3-31
	 */
	List<T> queryByPage(T t) throws Exception;
	
	/**
	 * 更新
	 * @param t
	 * @return
	 * @throws Exception
	 */
	int update(T t)throws Exception;
	
	int getTotalCount(Map<String, Object> map) throws Exception;
	
	
	List<T> queryByPage(Map<String, Object> map) throws Exception;

	
}
